
/* -----------------
* brief 
* 1. this is code gen by tools 
* 2. array like [a,b,c] after each field, define the ui html tag in view, 
		a for title, 
		b for show or not ,  
		c for element html tag , currently support : check、radio、select、input、textarea、upload
* 3. XXX
*/

package wechat

import (
	"github.com/chanxuehong/wechat/mp/card"
	"github.com/mjiulee/lego"
)

func init() {
	lego.AddBeanToSynList(new(WxCardMemberCard))
}

/* table: "tb_wx_card_member"
 * -----------------
*/
type WxCardMemberCard struct {
	Id        int64  `xorm:"pk" json:",string"`                  // ["id","hide","hidden"]
	IfDel     int `xorm:"default 0"` // ["deleted","hide","hidden"]
	Cdate     string `xorm:"DateTime created"`    // ["create","show","datetime"]
	Udate     string `xorm:"DateTime updated"`    // ["update","show","datetime"]
    // add your custom field here

    //CardId和Weappid是CardBaseInfo的
    CardId string `xorm:"char(64) NOT NULL"` // ["卡ID","show","input"]
    WeappId string `xorm:"char(64) NOT NULL"` // ["微信APP ID","show","input"]

	//WxMemberCardStruct `xorm:"extends"`
	*card.MemberCard `xorm:"extends"`
    
    //
}

func NewWxCardMemberCard(membercard *card.MemberCard) *WxCardMemberCard {
	wxMemberCard := new(WxCardMemberCard)

	wxMemberCard.CardId = membercard.BaseInfo.CardId
	wxMemberCard.WeappId = membercard.BaseInfo.AppId
	wxMemberCard.MemberCard = membercard
	return wxMemberCard
}

/*
type WxMemberCardStruct struct {
	Prerogative       string                `xorm:"prerogative"`       // 会员卡特权说明
	SupplyBonus       bool                  `xorm:"supply_bonus"`      // 显示积分，填写true或false，如填写true，积分相关字段均为必填
	BonusURL          string                `xorm:"bonus_url"`         // 设置跳转外链查看积分详情。仅适用于积分无法通过激活接口同步的情况下使用该字段。
	SupplyBalance     bool                  `xorm:"supply_balance"`    // 是否支持储值，填写true或false。如填写true，储值相关字段均为必填。
	BalanceURL        string                `xorm:"balance_url"`       // 设置跳转外链查看余额详情。仅适用于余额无法通过激活接口同步的情况下使用该字段。
	BonusClearedRules string                 `xorm:"bonus_cleared"`     // 积分清零规则。
	BonusRules        string                 `xorm:"bonus_rules"`       // 积分规则。
	BalanceRules      string                 `xorm:"balance_rules"`     // 储值说明。
    BonusRule         *BonusRuleField        `json:"bonus_rule,omitempty"`    // 积分规则配置。
	ActivateURL       string                 `xorm:"activate_url"`      // 激活会员卡的url。
	NeedPushOnView    bool                  `xorm:"need_push_on_view"` // 填写true为用户点击进入会员卡时推送事件，默认为false。
	//CustomField1      *card.MemberCardCustomField `xorm:"custom_field1"`     // 自定义会员信息类目，会员卡激活后显示。
	CustomField1 struct {
		NameType string `xorm:"filed1_name_type"`
		URL      string `xorm:"filed1_url"` // 点击类目跳转外链url
	} `xorm:"extends"`
	//CustomField2      *card.MemberCardCustomField `xorm:"custom_field2"`     // 自定义会员信息类目，会员卡激活后显示。
	CustomField2 struct {
		NameType string `xorm:"filed2_name_type"`
		URL      string `xorm:"filed2_url"` // 点击类目跳转外链url
	} `xorm:"extends"`
	//CustomField3      *card.MemberCardCustomField `xorm:"custom_field3"`     // 自定义会员信息类目，会员卡激活后显示。
	CustomField3 struct {
		NameType string `xorm:"filed3_name_type"`
		URL      string `xorm:"filed3_url"` // 点击类目跳转外链url
	} `xorm:"extends"`
	//CustomCell1       *card.MemberCardCustomCell  `xorm:"custom_cell1"`      // 自定义会员信息类目，会员卡激活后显示。
	CustomCell1 struct {
		Name string `xorm:"cell1_name"` // 入口名称。
		Tips string `xorm:"cell1_tips"` // 入口右侧提示语，6个汉字内。
		URL  string `xorm:"cell1_url"`  // 入口跳转链接。
	} `xorm:"extends"`
}
*/
/*
func (t *WxMemberCardStruct)SyncFrom(src *card.MemberCard) {
	t.Prerogative = src.Prerogative
	if src.SupplyBonus != nil {
		t.SupplyBonus = *src.SupplyBonus
	}

	t.BonusURL = src.BonusURL
	if src.SupplyBalance != nil {
		t.SupplyBalance = *src.SupplyBalance
	}

	t.BalanceURL = src.BalanceURL
	t.BonusClearedRules = src.BonusClearedRules
	t.BonusRules = src.BonusRules
	t.BalanceRules = src.BalanceRules
	t.ActivateURL = src.ActivateURL

	if src.NeedPushOnView != nil {
		t.NeedPushOnView = *src.NeedPushOnView
	}

	//CustomField1
	t.CustomField1.NameType = src.CustomField1.NameType
	t.CustomField1.URL = src.CustomField1.URL

	//CustomField2
	t.CustomField2.NameType = src.CustomField2.NameType
	t.CustomField2.URL = src.CustomField2.URL

	//CustomField3
	t.CustomField3.NameType = src.CustomField3.NameType
	t.CustomField3.URL = src.CustomField3.URL

	//CustomCell1
	t.CustomCell1.Name = src.CustomCell1.Name
	t.CustomCell1.Tips = src.CustomCell1.Tips
	t.CustomCell1.URL = src.CustomCell1.URL
}

*/